package cn.westv.scps.service.sms.template;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

import cn.westv.scps.domain.SmsTemplateEntity;
import cn.westv.scps.domain.SysMessageEntity;
import cn.westv.scps.utils.Page;

public interface ISmsTemplateService {

	// 查询所有，带条件查询
	public List<SmsTemplateEntity> find(String hql, Class<SmsTemplateEntity> entityClass, Object[] params);

	// 获取一条记录
	public SmsTemplateEntity get(Class<SmsTemplateEntity> entityClass, Serializable id);

	// 分页查询，将数据封装到一个page分页工具类对象
	public Page<SmsTemplateEntity> findPage(String hql, Page<SmsTemplateEntity> page, Class<SmsTemplateEntity> entityClass, Object[] params);

	// 新增和修改保存
	public void saveOrUpdate(SmsTemplateEntity entity);

	// 批量新增和修改保存
	public void saveOrUpdateAll(Collection<SmsTemplateEntity> entitys);

	// 单条删除，按id
	public void deleteById(Class<SmsTemplateEntity> entityClass, Serializable id);

	// 批量删除
	public  void delete(Class<SmsTemplateEntity> entityClass, Serializable[] ids);

	// 执行SQL查询
	public List<SmsTemplateEntity> querySQL(String SQL, Object[] params, Class<SmsTemplateEntity> entityClass);
	
	/**
	 * 根据code查询
	 * @param code
	 * @return
	 */
	public SmsTemplateEntity findByCode(String code);

}
